#ifndef __System_IComparable_H__
#define __System_IComparable_H__

///<summary>
/// IComparable<T>
///</summary>
#define System_IComparable(T) bindT(System_IComparable,T)
#define Declare_System_IComparable(T, Ti) \
	enum { \
		_System_IComparable_##T##VIndex_CompareTo, \
		_System_IComparable_##T##VIndexNext, \
	}; \
	public interfaceT(System_IComparable,T,, \
		virtualT(System_IComparable,T,int_,CompareTo,Ti other); \
	);
#define Implement_System_IComparable(T, Ti) \
	Implement_TypeTI(System_IComparable,T,)

#endif /* __System_IComparable_H__ */